package com.mew.chess.core.common.handler;

import com.mew.chess.core.common.message.request.EnterGameRequestMessage;
import com.mew.chess.core.common.message.request.ReconnectionGameRequestMessage;
import com.mew.common.rest.bo.GameSession;
import com.mew.common.rest.bo.MewSession;
import com.zebra.remoting.config.EmptyMessage;
import com.zebra.remoting.protocol.ZebraCommand;


public interface ChessEEHandler {

   void enterRoom(ZebraCommand<EnterGameRequestMessage> zebraCommand, MewSession session, GameSession chessSession);

   void reconnectRoom(ZebraCommand<ReconnectionGameRequestMessage> zebraCommand, MewSession session, GameSession chessSession);

   void exit(ZebraCommand<EmptyMessage> zebraCommand, MewSession session, GameSession chessSession);

   void expiredExit(long userId, int gameId, int roomId);

}